<?php

namespace app\admin\controller;

use think\Controller;
use think\Request;
use app\admin\model\SpecsModel;
use app\admin\model\GoodsModel;

class SpecsController extends Controller
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        //判断是否传入过滤条件
        if (isset($_GET['type'])) {
            if ($_GET['type'] == 0){
                //球拍
                $where['type'] = 0;
            } elseif ($_GET['type'] == 1) {
                //服装
                $where['type'] = 1;
            } else {
                //其他
                $where['type'] = 2;
            }
        } else {
            $where = [];
        }
        //显示列表
        $data = SpecsModel::where($where)->all();
        if ($data) {
            return \sendResponse($data);
        }

        return \sendResponse([]);
    }

    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
        //
    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
        // 接收数据
        $params = $request->post();
        //判断规格名称是否为空
        if (empty($params['name'])) {
            return \sendResponse('', 2001);
        }
        //判断规格名称是否存在
        if (SpecsModel::where('name', $params['name'])->find()) {
            return \sendResponse('', 2002);
        }
        //添加
        $res = SpecsModel::create($params);
        if ($res) {
            return \sendResponse();
        }
        return \sendResponse('', -1);
    }

    /**
     * 显示指定的资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function read($id)
    {
        //
    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        //查询单条数据
        $data = SpecsModel::where('id', $id)->find();
        //判断
        if ($data) {
            return \sendResponse($data);
        }
        return \sendResponse([]);
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request)
    {
        // 接收数据
        $params = $request->post();
        //判断规格名称是否为空
        if (empty($params['name'])) {
            return \sendResponse('', 2001);
        }
        //判断规格名称是否存在
        if (SpecsModel::where('name', $params['name'])->where('id', '<>', $params['id'])->find()) {
            return \sendResponse('', 2002);
        }
        //修改
        $res = SpecsModel::update(['name'=>$params['name'], 'type'=>$params['type']], ['id'=>$params['id']]);
        if ($res) {
            return \sendResponse();
        }
        return \sendResponse('', -1);
    }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        //判断规格是否已经绑定到商品中
        if (GoodsModel::where('specs_id', 'in', $id)->find()) {
            return \sendResponse('', 2003);
        }
        //删除规格
        $res = SpecsModel::destroy($id);
        if ($res) {
            return \sendResponse();
        }

        return \sendResponse('', -1);
    }
}
